package main

import (
	"backenddev/no2/gin_project3/middleware1/middleware"
	"net/http"

	"github.com/gin-gonic/gin"
)

func main() {
	// 创建 Gin 引擎
	r := gin.Default()
	/**
	当你使用 gin.Default() 创建引擎时，Gin 会自动注册两个默认中间件：
	Logger（请求日志中间件）：记录每个请求的日志（方法、路径、状态码、耗时等）。
	Recovery（异常恢复中间件）：捕获 panic，防止服务崩溃，并返回 500 错误。
	如果你只用 gin.New()，则不会自动添加任何中间件，需要手动注册。
	因此，使用 gin.Default() 可以省去手动注册中间件的步骤。
	gin.Default() = gin.New() + Logger + Recovery
	**/
	// 使用中间件
	r.Use(middleware.StudyMiddleware())

	// 定义路由
	r.GET("/ce", func(c *gin.Context) {
		req_time, _ := c.Get("request_time")
		println("请求时间是:", req_time.(string))
		c.String(http.StatusOK, "Hello, World!")
	})

	// 启动服务
	r.Run(":8080")
}
